feat: Arc instead of Box<dyn EngineData> for add_files API #1354
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What changes are proposed in this pull request?
Opening for some discussion: do we want to take a Box or an Arc for
transaction.add_files?Currently we take a
Box<dyn EngineData>- this means engine can't use it again after handing to our transaction. I'm raising this to consider Arc since none of our APIs actually require ownership - we can just take a shared Arc and everything basically "just works".Though this brings up whether or not we want to allow this flexibility, as the add_files_metadata is not very useful outside of a transaction and in the future a
Transactionshould be able to just rebase itself?This PR affects the following public APIs
transaction.add_filestakes anArc<dyn EngineData>instead ofBox<dyn EngineData>How was this change tested?
existing